<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>Linux  部署基于 Nginx-Tomcat 的 的 WEB  应用 | HankChan&#39;s Blog</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="内容说明：如何在 Linux 服务器 CentOS-6.7 版本上部署基于 Nginx + Tomcat 的 的 Web 应用？注：CentOS-7 的改动较大，如防火墙、MySQL 的安装等。应用场景：简单Demo概要：首先确保成功安装 JavaJDK、Tomcat、Nginx。其次配置 Tomcat 及 Nginx，让 Nginx 作为响应服务器接收请求。配置 Tomcat 的配置信息，包括环">
<meta property="og:type" content="article">
<meta property="og:title" content="Linux  部署基于 Nginx-Tomcat 的 的 WEB  应用">
<meta property="og:url" content="http://hexo.hankchan.cn/2016/10/01/linux-e9-83-a8-e7-bd-b2-e5-9f-ba-e4-ba-8e-nginx-tomcat-e7-9a-84-e7-9a-84-web-e5-ba-94-e7-94-a8/index.html">
<meta property="og:site_name" content="HankChan&#39;s Blog">
<meta property="og:description" content="内容说明：如何在 Linux 服务器 CentOS-6.7 版本上部署基于 Nginx + Tomcat 的 的 Web 应用？注：CentOS-7 的改动较大，如防火墙、MySQL 的安装等。应用场景：简单Demo概要：首先确保成功安装 JavaJDK、Tomcat、Nginx。其次配置 Tomcat 及 Nginx，让 Nginx 作为响应服务器接收请求。配置 Tomcat 的配置信息，包括环">
<meta property="og:updated_time" content="2017-05-26T02:13:23.615Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Linux  部署基于 Nginx-Tomcat 的 的 WEB  应用">
<meta name="twitter:description" content="内容说明：如何在 Linux 服务器 CentOS-6.7 版本上部署基于 Nginx + Tomcat 的 的 Web 应用？注：CentOS-7 的改动较大，如防火墙、MySQL 的安装等。应用场景：简单Demo概要：首先确保成功安装 JavaJDK、Tomcat、Nginx。其次配置 Tomcat 及 Nginx，让 Nginx 作为响应服务器接收请求。配置 Tomcat 的配置信息，包括环">
  
    <link rel="alternate" href="/atom.xml" title="HankChan&#39;s Blog" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  <link rel="stylesheet" href="/css/style.css">
  

</head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/" id="logo">HankChan&#39;s Blog</a>
      </h1>
      
        <h2 id="subtitle-wrap">
          <a href="/" id="subtitle">生活就像海洋</a>
        </h2>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/">Home</a>
        
          <a class="main-nav-link" href="/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="RSS Feed"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="搜索"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://hexo.hankchan.cn"></form>
      </div>
    </div>
  </div>
</header>
      <div class="outer">
        <section id="main"><article id="post-linux-e9-83-a8-e7-bd-b2-e5-9f-ba-e4-ba-8e-nginx-tomcat-e7-9a-84-e7-9a-84-web-e5-ba-94-e7-94-a8" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/2016/10/01/linux-e9-83-a8-e7-bd-b2-e5-9f-ba-e4-ba-8e-nginx-tomcat-e7-9a-84-e7-9a-84-web-e5-ba-94-e7-94-a8/" class="article-date">
  <time datetime="2016-10-01T04:18:19.000Z" itemprop="datePublished">2016-10-01</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Linux/">Linux</a>►<a class="article-category-link" href="/categories/Linux/Nginx/">Nginx</a>
  </div>

  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      Linux  部署基于 Nginx-Tomcat 的 的 WEB  应用
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <p>内容说明：<br>如何在 Linux 服务器 CentOS-6.7 版本上部署基于 Nginx + Tomcat 的 的 Web 应用？<br>注：CentOS-7 的改动较大，如防火墙、MySQL 的安装等。<br>应用场景：<br>简单Demo<br>概要：<br>首先确保成功安装 JavaJDK、Tomcat、Nginx。<br>其次配置 Tomcat 及 Nginx，让 Nginx 作为响应服务器接收请求。<br>配置 Tomcat 的配置信息，包括环境变量，端口号等内容。<br>配置 Nginx 的配置信息，包括反向代理，负载均衡等内容。<br>备注：<br>在此，JavaJDK 采用了默认的安装路径（安装初期没有做处理，建议自定义统一<br>存放）。自定义安装的软件统一存放在/usr/local 目录下。安装包存放在自定义<br>目录：/opt/setuppackages 。<br>如：<br>JAVAHOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64<br>CATALINA_HOME=/usr/local/tomcat<br>CATALINA2_HOME=/usr/local/tomcat2<br>以此类推。。<br>Nginx 目录：/usr/local/webservers/nginx<br>1. 安装 JavaJDK<br>1.1 安装步骤<br>1. 查询自带 java 版本：java -version<br>2. 测试网络连接：ping baidu.com<br>3. 若存在，卸载自带版本重装新版本（Google Now！略）。<br>4. 不存在，查看 java jdk 可安装的版本信息：yum -y list java<em><br>5. 选择安装其中一个版本（java8）：yum -y install java-1.8.0-openjdk</em><br>6. 等待安装完成（Complete！），查看 java 安装版本信息：java -version<br>7. 查看 jdk 安装路径：whereis java<br>8. centos linux 使用 yum 命令后，会将 OpenSDK 安装到/usr/lib/jvm/ 目录<br>9. 进入 jvm 目录：cd /usr/lib/jvm<br>10. 可以看到其中的一个目录文件（共两个）：drwxr-xr-x. 9 root root 4096 Sep 21<br>10:06 java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64（字符 d 开头）<br>11. 修改配置 Linux 的环境变量：vim /etc/profile<br>12. 进入该文件后再文件的最后添加以下内容：<br>export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64<br>export<br>CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/to<br>ols.jar<br>export PATH=$PATH:$JAVA_HOME/bin<br>13. 修改完成后保存关闭，执行配置立即生效：source /etc/profile<br>14. 分别输入命令：<br>echo $JAVA_HOME<br>echo $CLASSPATH<br>echo $PATH 查看配置是否生效。<br>1.2 测试运行 HelloWorld.java<br>1. 接下来写一个简单的 HelloWorld.java，并且执行 javac HelloWorld.java 及 java<br>Helloworld 命令查看是否能运行输出。<br>2. 运行成功说明配置完成！DONE！<br>2. 安装 Tomcat<br>2.1 安装步骤<br>1. 使用源码安装方式，下载安装包：<br>wget <a href="http://tomcat.apache.org/download-80.cgi" target="_blank" rel="external">http://tomcat.apache.org/download-80.cgi</a> ( 该地址无效)<br>2. 发现 wget command not found 错误<br>3. 使用命令 安装 wget：yum -y install wget<br>4. 安装 wget 命令成功，下载 Tomcat 安装包。。。<br>5. 使用其他 tomcat 下载地址（可自行 Google！）：<br>wget <a href="http://s.cnaaa11.com/soft/apache-tomcat-8.0.14.tar.gz" target="_blank" rel="external">http://s.cnaaa11.com/soft/apache-tomcat-8.0.14.tar.gz</a><br>6. 下载安装包成功！<br>7. 将安装包移动到自定义目录：<br>8. mv apache-tomcat-8.0.14.tar.gz /opt/setuppackages<br>9. 复制该安装包到安装目录下：<br>10. cp apache-tomcat-8.0.14.tar.gz /usr/local<br>11. 进入安装目录：cd /usr/local<br>12. 解压 Tomcat 安装包：tar -zxvf apache-tomcat-8.0.14.tar.gz<br>13. 解压完成后删除该目录中的安装包：rm -rf apache-tomcat-8.0.14.tar.gz<br>14. 执行命令（相当于更改名字）：mv apache-tomcat-8.0.14 tomcat<br>15. 现在可以看到/usr/local 目录下有一个 tomcat 的文件夹<br>16. 接下来启动 tomcat：/usr/local/tomcat/bin/startup.sh<br>17. 启动成功后防火墙开放 8080 端口（CentOS-7 的防火墙已经改版）<br>18. 开放 8080 端口方法<br>/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT #开启 8080 （I 为大写 i）<br>/etc/rc.d/init.d/iptables save #保存配置<br>/etc/rc.d/init.d/iptables restart #重启防火墙<br>19. 如果是 centOS-7 版本，防火墙设置如下：<br>使用 firewalld 开放 Linux 端口：<br>开启端口<br>firewall-cmd –zone=public –add-port=80/tcp –permanent<br>命令含义：<br>–zone #作用域<br>–add-port=80/tcp #添加端口，格式为：端口/通讯协议<br>–permanent #永久生效，没有此参数重启后失效<br>重启防火墙<br>firewall-cmd –reload<br>20. 保存成功！<br>2.2 测试运行<br>1. 开始检查 tomcat 是否安装运行：在 hp 笔记本浏览器地址栏输入”ip:port”，如<br>输入：<a href="http://192.168.***.***:8080/（写上自己的虚拟机" target="_blank" rel="external">http://192.168.***.***:8080/（写上自己的虚拟机</a> IP 呀）<br>2. 查看是否能成功安装运行 Tomcat<br>2.3 配置环境变量<br>配置环境变量：CATALINA_HOME<br>同样的运行命令：vim /etc/profile 修改配置文件，加入以下内容：<br>export CATALINA_HOME=/usr/local/tomcat<br>保存退出，运行执行生效命令：source /etc/profile<br>运行成功！DONE！<br>2.4 重要配置（配合 Nginx ）<br>1. 安装第一个 Tomcat 不需要修改包括其目录下的 startup.sh、shutdown.sh、<br>catalina.sh 中的配置信息。 但是除此之外的 Tomcat 都需要对上述文件中做相应的<br>配置。<br>2. 除了第一个 Tomcat 以外的 Tomcat 应用，都需要在 startup.sh 和 shutdown.sh<br>中新增如下配置信息，示例如下：<br>export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64<br>export PATH=$PATH:$JAVA_HOME/bin<br>export CLASSPATH=$JAVA_HOME/lib<br>export CATALINA_HOME=$CATALINA2_HOME # 引用/etc/profile 中的配置<br>export CATALINA_BASE=$CATALINA2_BASE # 引用/etc/profile 中的配置<br>3. 除了第一个 Tomcat 以外的 Tomcat 应用， 在 catalina.sh 中新增加的配置信息如<br>下：<br>export CATALINA_HOME=/usr/local/tomcat2<br>export CATALINA_BASE=/usr/local/tomcat2<br>4. 每个 Tomcat 都需要在 server.xml 中设置端口号信息。<br>server.xml 中的配置信息示例：<br>指定端口号（略）；<br>5. 每个 Tomcat 设定的端口号都需要在防火墙设置中开放（注意 Centos 版本问<br>题），步骤如下：</p>
<p>#关闭防火墙<br>/etc/init.d/iptables stop<br>service iptables stop # 停止服务</p>
<p>#查看防火墙信息<br>/etc/init.d/iptables status</p>
<p>#开放端口:8080<br>/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT</p>
<p>#将更改进行保存<br>/etc/rc.d/init.d/iptables save</p>
<p>#重启防火墙以便改动生效:(或者直接重启系统)<br>/etc/init.d/iptables restart<br>6. 每个 Tomcat 都需要在/etc/profile 中配置系统的环境变量:<br>/etc/profile 中的配置信息示例：</p>
<p>#1 首个 tomcat<br>export CATALINA_HOME=/usr/local/tomcat</p>
<p>#2 第二个 tomcat<br>CATALINA2_BASE=/usr/local/tomcat2<br>CATALINA2_HOME=/usr/local/tomcat2<br>export CATALINA2_BASE CATALINA2_HOME<br>TOMCAT2_HOME=/usr/local/tomcat2<br>export TOMCAT2_HOME<br>以此类推…<br>Tomcat 配置文件 server.xml 详细局部：<br>Context(表示一<br>个 web 应用程<br>序， 通常为 WAR<br>文件， 关于 WAR<br>的具体信息见<br>servlet 规范)<br>docBase 应用程序的路径或者是 WAR 文件存放的路径<br>path<br>表示此 web 应用程序的 url 的前缀，这样请求的 url 为<br><a href="http://localhost:8080/path/****" target="_blank" rel="external">http://localhost:8080/path/****</a><br>reloadable<br>这个属性非常重要，如果为 true，则 tomcat 会自动检测<br>应用程序的/WEB-INF/lib 和/WEB-INF/classes 目录的变<br>化，自动装载新的应用程序，我们可以在不重起 tomcat<br>的情况下改变应用程序<br>Host(表示一个<br>虚拟主机)<br>name 指定主机名<br>appBase 应用程序基本目录，即存放应用程序的目录<br>unpackWARs<br>如果为 true，则 tomcat 会自动将 WAR 文件解压，否则<br>不解压，直接从 WAR 文件中运行应用程序<br>3. 安装 Nginx<br>参考：<a href="http://www.runoob.com/linux/nginx-install-setup.html" target="_blank" rel="external">http://www.runoob.com/linux/nginx-install-setup.html</a><br>3.1 说明<br>Nginx 服务程序默认以 nobody 身份运行，建议为其创建专门的用户账号，以便<br>更准确地控制其访问权限，增加灵活性、降低安全风险。 如： 创建一个名为 nginx<br>的用户，不建立宿主目录，也禁止登录到 shell 环境。<br>3.2 安装步骤<br>1. 下载 PCRE 安装包：<br>wget <a href="http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz" target="_blank" rel="external">http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz</a><br>2. 解压安装包：tar zxvf pcre-8.35.tar.gz<br>3. 进入安装包目录：cd pcre-8.35<br>4. 执行编译安装：<br>./configure<br>make &amp;&amp; make install<br>注意：要先安装好 gcc 、gzip 和 和 openssl 依赖库<br>yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel<br>5. 下载 Nginx 安装包：wget <a href="http://nginx.org/download/nginx-1.6.2.tar.gz" target="_blank" rel="external">http://nginx.org/download/nginx-1.6.2.tar.gz</a><br>6. 解压安装包：tar zxvf nginx-1.6.2.tar.gz<br>7. 执行编译（注意指定 pcre 安装目录）：<br>./configure –prefix=/usr/local/webserver/nginx –with-http_stub_status_module<br>–with-http_ssl_module –with-pcre=/usr/local/pcre-8.35<br>8. 执行两条命令安装：<br>make<br>make install<br>9. 查看版本信息：/usr/local/webserver/nginx/sbin/nginx -v<br>10. 到此，Nginx 安装完成！<br>3.3 配置 nginx.conf 配置文件<br>首先要修改的命令主要有：<br>sendfile on;<br>tcp_nopush on;</p>
<p>#keepalive_timeout 0;<br>keepalive_timeout 65;<br>然后在上述代码下方增加下面的配置信息：<br>upstream localhost {<br>server localhost:8080; # 第一个 Tomcat 的开放 ip+port<br>server localhost:9080; # 第二个 Tomcat 的开放 ip+port</p>
<h1 id="以此类推"><a href="#以此类推" class="headerlink" title="以此类推"></a>以此类推</h1><p>}<br>在 location / {<br>root html;<br>index index.html index.htm;位置下方添加下面的代码：<br>proxy_pass <a href="http://localhost" target="_blank" rel="external">http://localhost</a>;<br>proxy_redirect off;<br>proxy_set_header Host $host;<br>proxy_set_header X-Real-IP $remote_addr;<br>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>client_max_body_size 10m;<br>client_body_buffer_size 128k;<br>proxy_connect_timeout 15;<br>proxy_send_timeout 15;<br>proxy_read_timeout 15;<br>proxy_buffer_size 8k;<br>proxy_buffers 4 64k;<br>proxy_busy_buffers_size 128k;<br>proxy_temp_file_write_size 128k;<br>12. 常用的几个命令：<br>/usr/local/webserver/nginx/sbin/nginx -t #检查 nginx.conf 配置文件正确性<br>/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件<br>/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx<br>/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx<br>13. DONE！<br>3.4 测试 Tomcat 应用<br>在浏览器中输入：&lt;ip&gt;:&lt;port&gt;。查看 Tomcat 应用是否成功安装启动。<br>3.5 测试负载均衡<br>安装配置完成后，分别进入每个 tomcat 安装路径的 ROOT 目录下（如：<br>/usr/local/tomcat/webapps/ROOT）。<br>在该目录下创建一个名称相同但是内容都不同的 JSP 文件，如 test.jsp。<br>在每个 tomcat 中的 test.jsp 文件中设置不同的内容，如：<br>&lt;html&gt;<br>&lt;body&gt;<br>This is the First（Second …以此类推）Tomcat Webapp Page..<br>&lt;/body&gt;<br>&lt;/html&gt;<br>最后启动不止一个 Tomcat 应用，在浏览器中输入：&lt;ip&gt;/test.jsp。每次点击发送<br>请求，得到的页面分别是 First、Second。。。等不同的内容说明负载均衡测试成<br>功！<br>其他后续更新。。。<br>4. 安装 MySQL<br>4.1 安装步骤<br>安装数据库，选用 MySQL 数据库。<br>通过 yum 的方式来进行 mysql 的数据库安装。<br>1. 首先我们可以输入： yum list | grep mysql<br>来查看 yum 上提供的 mysql 数据库可下载的版本。<br>2. 然后我们可以通过输入： yum install -y mysql-server mysql mysql-devel<br>将 mysql mysql-server mysql-devel 都安装好。<br>注意:安装mysql 时我们并不是安装了 mysql 客户端就相当于安装好了 mysql 数据<br>库了，我们还需要安装 mysql-server 服务端才行。<br>3. 等待了一番时间后，Compete！<br>4. 现在查看安装的 mysql 版本信息：rpm -qi mysql-server<br>5. 安装完毕。<br>对于 于 CentOS-7 而言， CentOS 7的yum源中不再有正常安装 mysql时的mysql-sever<br>文件，需要去官网上下载：</p>
<h1 id="wget-http-dev-mysql-com-get-mysql-community-release-el7-5-noarch-rpm"><a href="#wget-http-dev-mysql-com-get-mysql-community-release-el7-5-noarch-rpm" class="headerlink" title="wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm"></a>wget <a href="http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm" target="_blank" rel="external">http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm</a></h1><h1 id="rpm-ivh-mysql-community-release-el7-5-noarch-rpm"><a href="#rpm-ivh-mysql-community-release-el7-5-noarch-rpm" class="headerlink" title="rpm -ivh mysql-community-release-el7-5.noarch.rpm"></a>rpm -ivh mysql-community-release-el7-5.noarch.rpm</h1><h1 id="yum-install-mysql-community-server"><a href="#yum-install-mysql-community-server" class="headerlink" title="yum install mysql-community-server"></a>yum install mysql-community-server</h1><p>成功安装之后重启 mysql 服务</p>
<h1 id="service-mysqld-restart"><a href="#service-mysqld-restart" class="headerlink" title="service mysqld restart"></a>service mysqld restart</h1><p>4.2 启动登陆数据库<br>启动 MySQL：service mysqld start<br>1. 第一次启动会显示较多提示信息，下次启动则不会再次显示。<br>重启：service mysqld restart<br>2. 使用 mysql 数据库时，都得首先启动 mysqld 服务。<br>查看 MySQL 是否开机自动启动：chkconfig –list | grep mysqld<br>设置开机自动启动命令：chkconfig mysqld on<br>3. 登录 mysql 数据库：mysql -u root -p<br>4. 输入 SQL 测试：select 9*9 from dual;<br>5. 测试通过！<br>4.3 设置数据库密码<br>mysql 数据库安装完以后只会有一个 root 管理员账号， 但是此时的 root 账号还并<br>没有为其设置密码，设置数据库密码：<br>/usr/bin/mysqladmin -u root password ‘root’ # 密码建议设置为 root<br>4.4 常用配置文件<br>MySQL 主要配置文件： /etc/my.cnf<br>数据库文件： /var/lib/mysql<br>数据库日志文件位置： /var/log<br>5. 应用部署<br>说明：<br>在 Eclipse 中创建 Maven 测试项目 webapp_deploy_demo， export 为 war 包并且放<br>到 Linux 服务器中。<br>测试使用的应用demo源码及其war包存在目录： /home/hankchan101/demos 中。<br>然后将该应用部署在 Tomcat 服务容器中。主要有两种部署方式：war 包部署和<br>源代码部署方式。<br>5.1 war 包部署<br>说明：<br>参考：<a href="http://www.cnblogs.com/xiangxiaodong/p/4080546.html" target="_blank" rel="external">http://www.cnblogs.com/xiangxiaodong/p/4080546.html</a><br>部署后输入以下地址测试是否部署成功：<br>访问 Nginx：<a href="http://192.168.154.162/demos/" target="_blank" rel="external">http://192.168.154.162/demos/</a><br>直接访问 Tomcat：<a href="http://192.168.154.162:8080/demos/" target="_blank" rel="external">http://192.168.154.162:8080/demos/</a><br>5.1.1 war 包目录：<br>/home/hankchan101/demos<br>5.1.2 Tomcat 位置：<br>/usr/local/tomcat<br>5.1.3 配置 Tomcat 配置文件 server.xml<br>修改添加如下配置：<br>&lt;Host name=”localhost” unpackWARs=”true” autoDeploy=”false”<br>appBase=”/home/hankchan101/demos” deployOnStartup=”false”&gt;<br>&lt;Context path=”/demos” docBase=”webapp_deploy_demo.war” /&gt;<br>。。。<br>&lt;/Host&gt;<br>主要注意：<br>在 Host 节点中新增 Context 子节点；<br>Context 节点的 path 属性为上下文路径（对应请求 URL 的后缀），docBase 属性<br>为 war 包文件名；<br>Host 节点的 appBase 属性值为 war 包所在目录；<br>5.1.4 Nginx 配置：<br>upstream 配置：<br>upstream tomcat { # 配置 war 包部署方式到 tomcat 中<br>server localhost:8080 weight=10;<br>}<br>server 配置：<br>server {<br>listen 80;<br>server_name localhost;<br>index index.jsp index.htm index.html; # 配置 war 包部署方式到 tomcat 中<br>root /home/hankchan101; # 配置 war 包部署方式到 tomcat 中<br>location /demos { # 配置war包部署方式到tomcat中的location配置信息<br>proxy_pass <a href="http://tomcat" target="_blank" rel="external">http://tomcat</a>;<br>}<br>。。。<br>}<br>到此配置完成，在浏览器测试部署是否成功即可。<br>5.1.5 响应原理：<br>Nginx 配置文件中的 location 配置信息是：如果请求的路径为/demos，就通过反<br>向代理转到 <a href="http://tomcat。" target="_blank" rel="external">http://tomcat。</a> 根据该值 tomcat 找到 upstream 中指定的 server 地址，<br>也就是 localhost:8080。后面的就由该 Tomcat 服务器去处理请求：根据该 ip+port<br>的地址到了该tomcat server中的server.xml配置文件中Host节点的appBase属性<br>值可以找到 web 应用的 war 包。进而响应请求。<br>5.2 源码部署<br>（待更新。。）</p>

      
    </div>
    <footer class="article-footer">
      <a data-url="http://hexo.hankchan.cn/2016/10/01/linux-e9-83-a8-e7-bd-b2-e5-9f-ba-e4-ba-8e-nginx-tomcat-e7-9a-84-e7-9a-84-web-e5-ba-94-e7-94-a8/" data-id="cj359k3za0018fwv7ixzj13nr" class="article-share-link">Share</a>
      
      
    </footer>
  </div>
  
    
<nav id="article-nav">
  
    <a href="/2016/10/11/e5-b7-a5-e5-8e-82-e6-a8-a1-e5-bc-8f-e5-92-8c-e5-8d-95-e4-be-8b-e6-a8-a1-e5-bc-8f-e7-bb-93-e5-90-88-e5-ba-94-e7-94-a8-e7-9a-84-e5-9c-ba-e6-99-af-e6-80-9d-e8-80-83/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Newer</strong>
      <div class="article-nav-title">
        
          工厂模式和单例模式结合应用的场景思考
        
      </div>
    </a>
  
  
    <a href="/2016/09/23/mybatis-e7-bb-93-e5-90-88spring-e7-9a-84-e5-85-b6-e4-b8-ad-e4-b8-80-e7-a7-8d-e5-bc-80-e5-8f-91-e6-80-9d-e8-b7-af/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Older</strong>
      <div class="article-nav-title">Mybatis结合Spring的其中一种开发思路</div>
    </a>
  
</nav>

  
</article>

</section>
        
          <aside id="sidebar">
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">分类</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Docker/">Docker</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Eclipse/">Eclipse</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/Eclipse/Mybatis/">Mybatis</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Eclipse/Spring/">Spring</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Eclipse/分布式/">分布式</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/Git/">Git</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Linux/">Linux</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/Linux/Nginx/">Nginx</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/Mybatis/">Mybatis</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/Mybatis/Spring/">Spring</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/Mybatis/Spring/SpringMVC/">SpringMVC</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/Mybatis/SpringMVC/">SpringMVC</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/Nginx/">Nginx</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Spring/">Spring</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/SpringMVC/">SpringMVC</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/分布式/">分布式</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/日志管理/">日志管理</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/未分类/">未分类</a></li></ul>
    </div>
  </div>


  
    

  
    
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2017/03/">三月 2017</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2017/01/">一月 2017</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/10/">十月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/09/">九月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/08/">八月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/07/">七月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/06/">六月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/05/">五月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/04/">四月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/03/">三月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/02/">二月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/01/">一月 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/12/">十二月 2015</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2017/03/13/docker-e5-be-ae-e6-9c-8d-e5-8a-a1-e5-ae-b9-e5-99-a8-e5-8c-96-e5-bc-80-e5-8f-91-e6-8e-a2-e7-b4-a2/">Docker-微服务容器化开发探索</a>
          </li>
        
          <li>
            <a href="/2017/01/20/drds-e7-bb-93-e5-90-88mybatis-e8-a7-a3-e5-86-b3-e6-96-b9-e6-a1-88-e4-b8-8e-e8-a7-84-e8-8c-83/">DRDS结合Mybatis解决方案与规范</a>
          </li>
        
          <li>
            <a href="/2017/01/03/springmvc-thymeleaf-e5-bc-80-e5-8f-91-e6-8c-87-e5-8d-97-demo/">SpringMVC-Thymeleaf-开发指南-Demo</a>
          </li>
        
          <li>
            <a href="/2016/10/16/nginx-e4-bb-a3-e7-90-86-e6-9c-8d-e5-8a-a1-e5-99-a8-e6-96-b9-e5-bc-8f-e8-a7-a3-e5-86-b3-e5-ae-9e-e9-99-85-e5-bc-80-e5-8f-91-e4-b8-adajax-e8-af-b7-e6-b1-82-e7-9a-84-e8-b7-a8-e5-9f-9f-e9-97-ae-e9-a2-98/">Nginx代理服务器方式解决实际开发中Ajax请求的跨域问题</a>
          </li>
        
          <li>
            <a href="/2016/10/11/e5-b7-a5-e5-8e-82-e6-a8-a1-e5-bc-8f-e5-92-8c-e5-8d-95-e4-be-8b-e6-a8-a1-e5-bc-8f-e7-bb-93-e5-90-88-e5-ba-94-e7-94-a8-e7-9a-84-e5-9c-ba-e6-99-af-e6-80-9d-e8-80-83/">工厂模式和单例模式结合应用的场景思考</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy; 2017 Hank Chan<br>
      Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>
    </div>
    <nav id="mobile-nav">
  
    <a href="/" class="mobile-nav-link">Home</a>
  
    <a href="/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>


  <link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
  <script src="/fancybox/jquery.fancybox.pack.js"></script>


<script src="/js/script.js"></script>

  </div>
</body>
</html>